home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / tex / tex31 / texsrc.lzh / TEXSRC.LZH / tex16.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-11-28  |  7.3 KB  |  282 lines

  1. #define EXTERN extern
  2. #include "texd.h"
  3.  
  4. void giveerrhelp ( ) 
  5. {giveerrhelp_regmem 
  6.   tokenshow ( eqtb [ 4321 ] .hh .v.RH ) ; 
  7. boolean openfmtfile ( ) 
  8. {/* 40 10 */ register boolean Result; openfmtfile_regmem 
  9.   integer j  ; 
  10.   j = curinput .locfield ; 
  11.   if ( buffer [ curinput .locfield ] == 38 ) 
  12.   {
  13.     incr ( curinput .locfield ) ; 
  14.     j = curinput .locfield ; 
  15.     buffer [ last ] = 32 ; 
  16.     while ( buffer [ j ] != 32 ) incr ( j ) ; 
  17.     packbufferedname ( 0 , curinput .locfield , j - 1 ) ; 
  18.     if ( wopenin ( fmtfile ) ) 
  19.     goto lab40 ; 
  20.     wakeupterminal () ; 
  21.     (void) fprintf( stdout , "%s%s\n",  "Sorry, I can't find that format;" ,     " will try the default." ) ; 
  22.     flush ( stdout ) ; 
  23.   } 
  24.   packbufferedname ( formatdefaultlength - 4 , 1 , 0 ) ; 
  25.   if ( ! wopenin ( fmtfile ) ) 
  26.   {
  27.     wakeupterminal () ; 
  28.     (void) fprintf( stdout , "%s\n",  "I can't find the default format file!" ) ; 
  29.     Result = false ; 
  30.     return(Result) ; 
  31.   } 
  32.   lab40: curinput .locfield = j ; 
  33.   Result = true ; 
  34.   return(Result) ; 
  35. void closefilesandterminate ( ) 
  36. {closefilesandterminate_regmem 
  37.   integer k  ; 
  38.   {register integer for_end; k = 0 ; for_end = 15 ; if ( k <= for_end) do 
  39.     if ( writeopen [ k ] ) 
  40.     aclose ( writefile [ k ] ) ; 
  41.   while ( k++ < for_end ) ; } 
  42.     ;
  43. #ifdef STAT
  44.   if ( eqtb [ 6194 ] .cint > 0 ) 
  45.   if ( logopened ) 
  46.   {
  47.     (void) fprintf( logfile , "%c\n",  ' ' ) ; 
  48.     (void) fprintf( logfile , "%s%s\n",  "Here is how much of TeX's memory" , " you used:" ) ; 
  49.     (void) fprintf( logfile , "%c%ld%s",  ' ' , (long)strptr - initstrptr , " string" ) ; 
  50.     if ( strptr != initstrptr + 1 ) 
  51.     (void) putc( 's' ,  logfile );
  52.     (void) fprintf( logfile , "%s%ld\n",  " out of " , (long)maxstrings - initstrptr ) ; 
  53.     (void) fprintf( logfile , "%c%ld%s%ld\n",  ' ' , (long)poolptr - initpoolptr ,     " string characters out of " , (long)poolsize - initpoolptr ) ; 
  54.     (void) fprintf( logfile , "%c%ld%s%ld\n",  ' ' , (long)lomemmax - memmin + memend - himemmin + 2 ,     " words of memory out of " , (long)memend + 1 - memmin ) ; 
  55.     (void) fprintf( logfile , "%c%ld%s%ld\n",  ' ' , (long)cscount ,     " multiletter control sequences out of " , (long)3000 ) ; 
  56.     (void) fprintf( logfile , "%c%ld%s%ld%s",  ' ' , (long)fmemptr , " words of font info for " , (long)fontptr - 0     , " font" ) ; 
  57.     if ( fontptr != 1 ) 
  58.     (void) putc( 's' ,  logfile );
  59.     (void) fprintf( logfile , "%s%ld%s%ld\n",  ", out of " , (long)fontmemsize , " for " , (long)fontmax - 0 ) ; 
  60.     (void) fprintf( logfile , "%c%ld%s",  ' ' , (long)hyphcount , " hyphenation exception" ) ; 
  61.     if ( hyphcount != 1 ) 
  62.     (void) putc( 's' ,  logfile );
  63.     (void) fprintf( logfile , "%s%ld\n",  " out of " , (long)307 ) ; 
  64.     (void) fprintf( logfile , "%c%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%c\n",  ' ' , (long)maxinstack , "i," , (long)maxneststack , "n," ,     (long)maxparamstack , "p," , (long)maxbufstack + 1 , "b," , (long)maxsavestack + 6 ,     "s stack positions out of " , (long)stacksize , "i," , (long)nestsize , "n," ,     (long)paramsize , "p," , (long)bufsize , "b," , (long)savesize , 's' ) ; 
  65.   } 
  66. #endif /* STAT */
  67.   wakeupterminal () ; 
  68.   while ( curs > -1 ) {
  69.       
  70.     if ( curs > 0 ) 
  71.     {
  72.       dvibuf [ dviptr ] = 142 ; 
  73.       incr ( dviptr ) ; 
  74.       if ( dviptr == dvilimit ) 
  75.       dviswap () ; 
  76.     } 
  77.     else {
  78.     
  79.       {
  80.     dvibuf [ dviptr ] = 140 ; 
  81.     incr ( dviptr ) ; 
  82.     if ( dviptr == dvilimit ) 
  83.     dviswap () ; 
  84.       } 
  85.       incr ( totalpages ) ; 
  86.     } 
  87.     decr ( curs ) ; 
  88.   } 
  89.   if ( totalpages == 0 ) 
  90.   printnl ( 830 ) ; 
  91.   else {
  92.       
  93.     {
  94.       dvibuf [ dviptr ] = 248 ; 
  95.       incr ( dviptr ) ; 
  96.       if ( dviptr == dvilimit ) 
  97.       dviswap () ; 
  98.     } 
  99.     dvifour ( lastbop ) ; 
  100.     lastbop = dvioffset + dviptr - 5 ; 
  101.     dvifour ( 25400000L ) ; 
  102.     dvifour ( 473628672L ) ; 
  103.     preparemag () ; 
  104.     dvifour ( eqtb [ 6180 ] .cint ) ; 
  105.     dvifour ( maxv ) ; 
  106.     dvifour ( maxh ) ; 
  107.     {
  108.       dvibuf [ dviptr ] = maxpush / 256 ; 
  109.       incr ( dviptr ) ; 
  110.       if ( dviptr == dvilimit ) 
  111.       dviswap () ; 
  112.     } 
  113.     {
  114.       dvibuf [ dviptr ] = maxpush % 256 ; 
  115.       incr ( dviptr ) ; 
  116.       if ( dviptr == dvilimit ) 
  117.       dviswap () ; 
  118.     } 
  119.     {
  120.       dvibuf [ dviptr ] = totalpages / 256 ; 
  121.       incr ( dviptr ) ; 
  122.       if ( dviptr == dvilimit ) 
  123.       dviswap () ; 
  124.     } 
  125.     {
  126.       dvibuf [ dviptr ] = totalpages % 256 ; 
  127.       incr ( dviptr ) ; 
  128.       if ( dviptr == dvilimit ) 
  129.       dviswap () ; 
  130.     } 
  131.     while ( fontptr > 0 ) {
  132.     
  133.       if ( fontused [ fontptr ] ) 
  134.       dvifontdef ( fontptr ) ; 
  135.       decr ( fontptr ) ; 
  136.     } 
  137.     {
  138.       dvibuf [ dviptr ] = 249 ; 
  139.       incr ( dviptr ) ; 
  140.       if ( dviptr == dvilimit ) 
  141.       dviswap () ; 
  142.     } 
  143.     dvifour ( lastbop ) ; 
  144.     {
  145.       dvibuf [ dviptr ] = 2 ; 
  146.       incr ( dviptr ) ; 
  147.       if ( dviptr == dvilimit ) 
  148.       dviswap () ; 
  149.     } 
  150.     k = 4 + ( ( dvibufsize - dviptr ) % 4 ) ; 
  151.     while ( k > 0 ) {
  152.     
  153.       {
  154.     dvibuf [ dviptr ] = 223 ; 
  155.     incr ( dviptr ) ; 
  156.     if ( dviptr == dvilimit ) 
  157.     dviswap () ; 
  158.       } 
  159.       decr ( k ) ; 
  160.     } 
  161.     if ( dvilimit == halfbuf ) 
  162.     writedvi ( halfbuf , dvibufsize - 1 ) ; 
  163.     if ( dviptr > 0 ) 
  164.     writedvi ( 0 , dviptr - 1 ) ; 
  165.     printnl ( 831 ) ; 
  166.     print ( outputfilename ) ; 
  167.     print ( 284 ) ; 
  168.     printint ( totalpages ) ; 
  169.     print ( 832 ) ; 
  170.     if ( totalpages != 1 ) 
  171.     printchar ( 115 ) ; 
  172.     print ( 833 ) ; 
  173.     printint ( dvioffset + dviptr ) ; 
  174.     print ( 834 ) ; 
  175.     bclose ( dvifile ) ; 
  176.   } 
  177.   if ( logopened ) 
  178.   {
  179.     (void) putc('\n',  logfile );
  180.     aclose ( logfile ) ; 
  181.     selector = selector - 2 ; 
  182.     if ( selector == 17 ) 
  183.     {
  184.       printnl ( 1266 ) ; 
  185.       print ( logname ) ; 
  186.       printchar ( 46 ) ; 
  187.     } 
  188.   } 
  189.   println () ; 
  190.   if ( ( editnamestart != 0 ) && ( interaction > 0 ) ) 
  191.   calledit ( strpool , editnamestart , editnamelength , editline ) ; 
  192. #ifdef DEBUG
  193. void debughelp ( ) 
  194. {/* 888 10 */ debughelp_regmem 
  195.   integer k, l, m, n  ; 
  196.   while ( true ) {
  197.       
  198.     wakeupterminal () ; 
  199.     printnl ( 1275 ) ; 
  200.     flush ( stdout ) ; 
  201.     read ( stdin , m ) ; 
  202.     if ( m < 0 ) 
  203.     return ; 
  204.     else if ( m == 0 ) 
  205.     dumpcore () ; 
  206.     else {
  207.     
  208.       read ( stdin , n ) ; 
  209.       switch ( m ) 
  210.       {case 1 : 
  211.     printword ( mem [ n ] ) ; 
  212.     break ; 
  213.       case 2 : 
  214.     printint ( mem [ n ] .hh .v.LH ) ; 
  215.     break ; 
  216.       case 3 : 
  217.     printint ( mem [ n ] .hh .v.RH ) ; 
  218.     break ; 
  219.       case 4 : 
  220.     printword ( eqtb [ n ] ) ; 
  221.     break ; 
  222.       case 5 : 
  223.     printword ( fontinfo [ n ] ) ; 
  224.     break ; 
  225.       case 6 : 
  226.     printword ( savestack [ n ] ) ; 
  227.     break ; 
  228.       case 7 : 
  229.     showbox ( n ) ; 
  230.     break ; 
  231.       case 8 : 
  232.     {
  233.       breadthmax = 10000 ; 
  234.       depththreshold = poolsize - poolptr - 10 ; 
  235.       shownodelist ( n ) ; 
  236.     } 
  237.     break ; 
  238.       case 9 : 
  239.     showtokenlist ( n , 0 , 1000 ) ; 
  240.     break ; 
  241.       case 10 : 
  242.     print ( n ) ; 
  243.     break ; 
  244.       case 11 : 
  245.     checkmem ( n > 0 ) ; 
  246.     break ; 
  247.       case 12 : 
  248.     searchmem ( n ) ; 
  249.     break ; 
  250.       case 13 : 
  251.     {
  252.       read ( stdin , l ) ; 
  253.       printcmdchr ( n , l ) ; 
  254.     } 
  255.     break ; 
  256.       case 14 : 
  257.     {register integer for_end; k = 0 ; for_end = n ; if ( k <= for_end) 
  258.     do 
  259.       print ( buffer [ k ] ) ; 
  260.     while ( k++ < for_end ) ; } 
  261.     break ; 
  262.       case 15 : 
  263.     {
  264.       fontinshortdisplay = 0 ; 
  265.       shortdisplay ( n ) ; 
  266.     } 
  267.     break ; 
  268.       case 16 : 
  269.     panicking = ! panicking ; 
  270.     break ; 
  271.     default: 
  272.     print ( 63 ) ; 
  273.     break ; 
  274.       } 
  275.     } 
  276.   } 
  277. #endif /* DEBUG */
  278.